Hash, Displace, and Compress
نویسندگان
چکیده
A hash function h, i.e., a function from the set U of all keys to the range range [m] = {0, . . . ,m− 1} is called a perfect hash function (PHF) for a subset S ⊆ U of size n ≤ m if h is 1–1 on S. The important performance parameters of a PHF are representation size, evaluation time and construction time. In this paper, we present an algorithm that permits to obtain PHFs with representation size very close to optimal while retaining O(n) construction time and O(1) evaluation time. For example in the case m = 2n we obtain a PHF that uses space 0.67 bits per key, and for m = 1.23n we obtain space 1.4 bits per key, which was not achievable with previously known methods. Our algorithm is inspired by several known algorithms; the main new feature is that we combine a modification of Pagh’s “hash-and-displace” approach with data compression on a sequence of hash function indices. That combination makes it possible to significantly reduce space usage while retaining linear construction time and constant query time. Our algorithm can also be used for k-perfect hashing, where at most k keys may be mapped to the same value. For the analysis we assume that fully random hash functions are given for free; such assumptions can be justified and were made in previous papers.
منابع مشابه
Near Collisions for the Compress Function of Hamsi-256 Found by Genetic Algorithm
Hamsi is one of 14 remaining candidates in NIST's Hash Competition for the future hash standard SHA3 and Hamsi-256 is one of four kinds of Hamsi. In this paper we present a genetic algorithm to search near collisions for the compress function of Hamsi-256 , give a near collision on (256 − 20) bits and a near collision on (256 − 21) bits with four differences in the chaining value, and obtain a ...
متن کاملAn Improved Hash Function Based on the Tillich-Zémor Hash Function
Using the idea behind the Tillich-Zémor hash function, we propose a new hash function. Our hash function is parallelizable and its collision resistance is implied by a hardness assumption on a mathematical problem. Also, it is secure against the known attacks. It is the most secure variant of the Tillich-Zémor hash function until now.
متن کاملHash and Displace: Efficient Evaluation of Minimal Perfect Hash Functions
A new way of constructing (minimal) perfect hash functions is described. The technique considerably reduces the overhead associated with resolving buckets in two-level hashing schemes. Evaluating a hash function requires just one multiplication and a few additions apart from primitive bit operations. The number of accesses to memory is two, one of which is to a fixed location. This improves the...
متن کاملHow to Compress Rabin Ciphertexts and Signatures (and More)
Ordinarily, RSA and Rabin ciphertexts and signatures are log N bits, where N is a composite modulus; here, we describe how to “compress” Rabin ciphertexts and signatures (among other things) down to about (2/3) log N bits, while maintaining a tight provable reduction from factoring in the random oracle model. The computational overhead of our compression algorithms is small. We also improve upo...
متن کاملDuality between Two Cryptographic Primitives
This paper reveals a duality between constructions of two basic cryptographic primitives pseudo random string generators and one way hash functions Applying the duality we present a construction for universal one way hash functions assuming the existence of one way permutations Under a stronger assumption the existence of distinction intractable permutations we prove that the construction const...
متن کامل